#include <iostream>

// template<typename T>
// void Swap(T& left, T& right)
// {
//     T temp = left;
//     left = right;
//     right = temp;
// }
//
// int main()
// {
//     int a = 0;
//     int b = 1;
//     double c = 1.0;
//     double d = 2.0;
//     Swap(a,b);
//     Swap(c, d);
// }

// template<class T>
// T Add(const T& left, const T& right)
// {
//     return left + right;
// }
//
// int main()
// {
//     int a1 = 10, a2 = 20;
//     double d1 = 10.0, d2 = 20.0;
//
//     Add(a1, a2);
//     Add(d1, d2);
//
//     //Add(a1, d1);
//     Add(a1, (int)d1);
//     Add<int>(a1,d1);
// }

// int Add(int left, int right)
// {
//     return left + right;
// }
//
// template<class T>
// T Add(T left, T right)
// {
//     return left + right;
// }
//
// void test()
// {
//     Add(1,2);
//     Add<int>(1,2);
// }